#include <iostream>

using namespace std;

class test1
{

};

class test2
{

};

class derive1: public test1
{
    private:
        int a;
};

class derive2: public test1, public test2
{
    private:
        int b;
};

struct stest1 {
    char ch;
};

struct stest2 {
    double d;
    int a;
    struct stest1 st;
};

int main()
{
    test1 a;
    derive1 b;
    cout << "sizeof(int): " << sizeof(int) << endl;
    cout << "sizeof(short): " << sizeof(short) << endl;
    cout << "sizeof(double): " << sizeof(double) << endl;
    cout << "sizeof(stest1): " << sizeof(stest1) << endl;
    cout << "sizeof(stest2): " << sizeof(stest2) << endl;
    cout << "sizeof(test1): " << sizeof(test1) << endl;
    cout << "sizeof(test2): " << sizeof(test2) << endl;
    cout << "sizeof(derive1): " << sizeof(derive1) << endl;
    cout << "sizeof(derive2): " << sizeof(derive2) << endl;
    cout << "addr of a: " << &a << endl;
    cout << "addr of b: " << &b << endl;
    return 0;
}